/*
origin glsl source: 

                    precision mediump float;
                    uniform sampler2D textureSrc;

                    varying vec2 v_texCoord;
                    
                    void main() {
                        gl_FragColor = texture2D(textureSrc, v_texCoord);
                    }
*/
export let glsl_726694e59c2ebc5891f976d13d105f58 = `
                    precision mediump float;
                    uniform sampler2D textureSrc;

                    varying vec2 v_texCoord;
                    
                    void main() {
                        gl_FragColor = texture2D(textureSrc, v_texCoord);
                    }
`
import {
    texture2D_N_V2,
    sampler2D,
    samplerCube,
    float,
    float_N,
    bool,
    bool_N,
    int_N,
    int,
    vec4,
    vec3,
    vec2,
    mat2,
    mat3,
    mat4,
} from "../builtin/BuiltinFunc"
import { glSet_V2_V2, glSet_V4_V4, getValueKeyByIndex, getOutValueKeyByIndex } from "../builtin/BuiltinOperator"
import {
    gl_FragData,
    gl_FragColor,
    gl_Position,
    gl_PointSize,
    gl_FragCoord,
    gl_FragDepth,
    gl_FrontFacing,
    custom_isDiscard,
} from "../builtin/BuiltinVar"
import { cpuRenderingContext } from "../../CpuRenderingContext"
import {
    AttributeData,
    FragShaderHandle,
    UniformData,
    VaryingData,
    ShaderLocalData,
    VertShaderHandle,
    StructData,
} from "../../ShaderDefine"
import {
    IntData,
    FloatData,
    Vec2Data,
    Vec3Data,
    Vec4Data,
    Mat2Data,
    Mat3Data,
    Mat4Data,
    BoolData,
    Sampler2D,
    SamplerCube,
} from "../builtin/BuiltinData"
class AttributeDataImpl implements AttributeData {
    dataKeys: Map<string, any> = new Map([])
    dataSize: Map<string, number> = new Map([])
}
class VaryingDataImpl extends VaryingData {
    v_texCoord: Vec2Data = new Vec2Data()

    factoryCreate() {
        return new VaryingDataImpl()
    }
    dataKeys: Map<string, any> = new Map([["v_texCoord", cpuRenderingContext.cachGameGl.FLOAT_VEC2]])
    copy(varying: VaryingDataImpl) {
        glSet_V2_V2(varying.v_texCoord, this.v_texCoord)
    }
}
class UniformDataImpl implements UniformData {
    textureSrc: Sampler2D = new Sampler2D()
    dataKeys: Map<string, any> = new Map([["textureSrc", cpuRenderingContext.cachGameGl.SAMPLER_2D]])
    dataSize: Map<string, number> = new Map([["textureSrc", 1]])
}
class ShaderLocalDataImpl implements ShaderLocalData {
    dataKeys: Map<string, any> = new Map([])
    dataSize: Map<string, number> = new Map([])
    init() {}
}
export class Impl_726694e59c2ebc5891f976d13d105f58 extends FragShaderHandle {
    varyingData: VaryingDataImpl = new VaryingDataImpl()
    uniformData: UniformDataImpl = new UniformDataImpl()

    main(): void {
        glSet_V4_V4(gl_FragColor, texture2D_N_V2(this.uniformData.textureSrc, this.varyingData.v_texCoord))
    }
}
